package org.cnam.mobileShopping.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.cnam.mobileShopping.bean.Category;
import org.cnam.mobileShopping.dao.DAOFactory;

import android.content.Context;

/**
 * Manipulateur de categories
 * 
 * @author laurent
 * 
 */
public class CategoryController {

	/**
	 * Construit une map sous la forme de [{"aaa",1},{"bbb",2},...]
	 * 
	 * @param categories La liste de catégories à formatter
	 * @return La map construite
	 */
	public static List<Map<String, Category>> buildMapCategories(
			List<Category> categories) {
		// la map a retourner
		List<Map<String, Category>> toReturn = new ArrayList<Map<String, Category>>();
		// on parcourt toutes les listes
		for (Category c : categories) {
			Map<String, Category> toAdd = new HashMap<String, Category>();
			toAdd.put("line1", c);
			toReturn.add(toAdd);
		}
		return toReturn;
	}

	/**
	 * Récupération de toutes les catégories sans filtrage
	 * 
	 * @param context Le contexte qui va interroger la base de données
	 * @return La liste de catégorie présente en base de données
	 */
	public static List<Category> getAllCategories(Context context) {
		return DAOFactory.getCategoryDAO(context).findAll();
	}
}
